#pragma once

#include <D3DX9math.h>
#include "Engine/PreApi Classes/IAInterface/IAInterface.h"
#include "Engine/PreApi Classes/Shader/VShader.h"
#include "Engine/PreApi Classes/Shader/PShader.h"
#include "Engine/PreApi Classes/Texture/Texture2D.h"
#include "Engine/PreApi Classes/DrawInterface/DrawInterface.h"
#include "Engine/PreApi Classes/RasterizerState/RasterizerState.h"

struct VertexDecl
{
    D3DXVECTOR4 vPos;
    D3DXVECTOR2 vTexCoord;
};

class CTestObj:
    public CIAInterface,
    public CDrawInterface
{                        
private:
    CVShader   *m_pVShader;
    CPShader   *m_pPShader;
    CTexture2D *m_pTexture;
    CRasterizerState *m_pRS;
    D3DXMATRIX  m_mViewProj;
    UINT        m_uVertexCount;
    UINT        m_uIndexCount;

    void CreateBuffers  ( );

public:
    CTestObj            ( );
    ~CTestObj           ( );
    void Render         ( );
};